Dan Winship [Wed, 21 Jan 2009 20:35:20 +0000 (20:35 +0000)]
Clean up Workspace animation. #567865
Use Tweener.registerSpecialPropertyModifier to handle moving windows in
straight lines on the screen even while their parent workspaces are also
moving.
Have the remove buttons track their parent workspace scale and deal with
it automatically rather than having special cases in each Workspace method.
Owen Taylor [Tue, 20 Jan 2009 18:32:25 +0000 (18:32 +0000)]
Adapt to new Tweener frame ticker API
Now that getTime() has been added to the frame ticker interface
we can implement frame dropping in a more straightforward way
than adjusting the FRAME_RATE member variable to fool Tweener
into doing the right thing.
Owen Taylor [Sat, 17 Jan 2009 14:41:45 +0000 (14:41 +0000)]
Escape % in g_app_info_create_from_commandline
g_app_info_create_from_commandline supports % escapes for
file name, icon name, etc, so we need to escape the command line
we pass in. If it contains an URL with url-encoded UTF-8 it will
typically have some percent signs.
Owen Taylor [Fri, 16 Jan 2009 20:10:26 +0000 (20:10 +0000)]
Include generated enumeration types when scanning
gjs requires flags types to be registered with GObject to
work properly; g-ir-scanner requires the get_type() functions
to be present in a scanned header in order to find the
GObject type for a flag. So pass {tidy,big}-enum-types.h to
the scanner as appropriate.
Dan Winship [Tue, 13 Jan 2009 20:49:31 +0000 (20:49 +0000)]
Make sure the animation always starts from the first frame, even if the
system is really busy and ClutterTimeline doesn't get a chance to call
us until it thinks several frames have passed
Display thumbnails of recent files in the overlay mode by using GnomeThumbnailFactory to get them. Fall back to the system icon for the file type provided by GtkRecentInfo when a thumbnail is not available.
Owen Taylor [Thu, 8 Jan 2009 23:34:19 +0000 (23:34 +0000)]
Pass the right 'this' to switchWorkspaceDone
switchWorkspaceDone was being called with the wrong 'this', causing
ShellWM.completed_switch_workspace() never to be called, causing stacking
order to get confused.
Check if the file still exists when displaying matches for the search.
Use get_modified() instead of get_visited() for GtkRecentInfo as get_modified() seems to reflect when the file was last modified or visted, while get_visited() stays the same as get_added(). See http://bugzilla.gnome.org/show_bug.cgi?id=567094
Owen Taylor [Mon, 22 Dec 2008 21:05:08 +0000 (21:05 +0000)]
Convert to gnome-shell-plugin to new plugin style
The plugin-gobject branch of Mutter (now merged into our branch) converts
plugins to more-standard GObject GTypePlugin, with the plugin itself
being a GObject class.
gnome-shell-plugin.c: Switch plugin to the new scheme
shell-wm.[ch]: Forward effect signals to ShellWM rather than hooking
directly into the plugin vtable.
default: Remove this (accidentally committed) file
Create two base classes: GenericDisplayItem and GenericDisplay, as
well as corresponding classes for applications and documents that inherit from
them.
Use half the height of the sideshow in the overlay mode for the
AppDisplay, and the other half for the DocDisplay.
Enable moving the selection between the two displays by using up and down arrow keys.
Enable activating any item by clicking on it, in addition to activating the currently selected item by pressing Enter.
Owen Taylor [Fri, 5 Dec 2008 23:20:10 +0000 (23:20 +0000)]
Use CompositeRedirectManual for tray icons
We don't want the X server to draw the icons onto the screen, so
use pass automatic=FALSE to clutter_x11_texture_pixmap_set_window();
causing CompositeRedirectManual to be used.
Owen Taylor [Fri, 5 Dec 2008 16:15:49 +0000 (16:15 +0000)]
Improve test for using LIBGL_ALWAYS_INDIRECT
Now that Clutter has support for ARB_texture_rectangle, we need
to enable EXT_texture_from_pixmap support more widely.
Parse the glxinfo output more accurately and detect when
EXT_texture_rectangle is supported client and server but not
is not active, and force indirect rendering only in that case.
Dan Winship [Fri, 5 Dec 2008 14:14:36 +0000 (14:14 +0000)]
Add <mirror> nodes for the gnome repo declaration (copied from the
upstream gnome modulesets), to allow using the experimental git mirror
support. See http://bugzilla.gnome.org/show_bug.cgi?id=538507
Owen Taylor [Mon, 1 Dec 2008 19:51:43 +0000 (19:51 +0000)]
Redo tabs => spaces indentation change to not lose manual indentation
Revert most JS changes in commit:
Fri Nov 28 20:12:20 2008 +0000
Convert all JS style to be uniform, add Eclipse settings bits
Instead, just add 'indent-tabs-mode: nil' to the mode lines and convert
tabs to spaces. The indentation no longer exactly matches the Eclipse
settings, since they differ in some ways from the style we are trying
to achieve.
Owen Taylor [Sat, 29 Nov 2008 21:44:17 +0000 (21:44 +0000)]
Bug 562629 – gnome-shell-build-setup.sh: more Ubuntu dependencies
Improve gnome-build-setup.sh by:
- Adding more required dependencies
- Fixing message when $reqs has multiple words
- Remove stray + from file
Patch from RainCT (Siegfried Gevatter).
Owen Taylor [Sat, 29 Nov 2008 21:11:31 +0000 (21:11 +0000)]
Bug 562633 – Use GNOME_SHELL_DISABLE_TFP environment variable
Allow forcing off the texture_for_pixmap extension by environment
variable, since it is apparently buggy on old Intel cards with
certain driver versions
Colin Walters [Tue, 25 Nov 2008 19:58:49 +0000 (19:58 +0000)]
Add hardcoded default applications list taken from online.gnome.org
The previous list of all applications in a random order was obviously
temporary. This patch improves things by adding a static list, taken
from the online.gnome.org/applications data.
In the future we will either have a vendor-chosen static list, or
a fully dynamic system.
Owen Taylor [Mon, 24 Nov 2008 19:07:18 +0000 (19:07 +0000)]
Add a concept of "going modal" by grabbing the keyboard
shell-global.[ch]: Replace shell_global_focus_stage()
with shell_global_grab_keyboard()/shell_global_ungrab_keyboard()
main.js: Add startModal()/endModal() functions to go modal and
undo that.
run_dialog.js overlay.js main.js: Use startModal() for the overlay
and for the run dialog.
Owen Taylor [Mon, 24 Nov 2008 19:07:15 +0000 (19:07 +0000)]
Add a bg-color property to ShellTrayManager
shell_tray_manager.c: Add a bg-color property and implement it
by setting a 1x1 pixmap of the right color as the background.
Also, make the colormap of the tray manager window match that
of the socket. That should (untested) make transparency work
properly if the tray icon supports it.
panel.js: Set the bg-color property of the tray manager to
match the panel.
Owen Taylor [Sun, 23 Nov 2008 04:12:37 +0000 (04:12 +0000)]
Tweak the animation when the overlay comes up
- Make the time a bit longer (now that we control timing in Tweener
better it actually takes the time we specify)
- Use easeOutQuad so that we get a "soft landing" into position
- Move the anchor point of the Desktop to NorthEast to reduce jitter
Owen Taylor [Sun, 23 Nov 2008 04:12:34 +0000 (04:12 +0000)]
Use a Tweener "Frame Ticker" with a ClutterTimeline backend
Call Tweener.setFrameTicker() with a custom object that bridges to
ClutterTimeline to get new frame notifications. Combined with a
hack to dynamically adjust the frame ticker's frame rate when
Clutter drops frames, this means that our animations play in the
intended time even if rendering is too slow to maintain a full
60HZ frame rate.
Owen Taylor [Wed, 19 Nov 2008 23:04:53 +0000 (23:04 +0000)]
Set a strut to prevent windows under the panel
Set a strut (a reserved region) at the top of the screen so that
windows don't get positioned under the panel. Do this on all
workspaces and redo it when the number of workspaces changes.
http://bugzilla.gnome.org/show_bug.cgi?id=561297